﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Media;

namespace WheelFlow
{
    /// <summary>
    /// ItemContainer for the FlowItemsControl3D control
    /// It is the object on which the layout algorithm will apply
    /// </summary>
    public class FlowItem3D : FlowItemBase, IFlowItem3D
    {
        readonly PlaneProjection _planeProjection = new PlaneProjection { CenterOfRotationX = 0.5, CenterOfRotationY = 0.5, CenterOfRotationZ = 0 };

        public FlowItem3D()
        {
            DefaultStyleKey = typeof(FlowItem3D);

            Projection = _planeProjection;

            // for better performance, we apply Bitmap Caching on FlowItems
            CacheMode = new BitmapCache();
        }
        #region IFlowItem3D Members

        /// <summary>
        /// Get the plane projection associated with the current item.
        /// </summary>
        public PlaneProjection Transform3D
        {
            get { return _planeProjection; }
        }

        #endregion
    }
}
